Crear Sesiones en PHP: Ejemplo completo
Crear Sesiones en PHP. En en lenguaje PHP, las sesiones se crean mediante el uso de la función session_start(). Las sesiones son muy usadas en el mundo del internet y nos sirven para almacenar datos. Sin embargo, estas son recordadas en otras páginas sin necesidad de volver a solicitarlos.
Esto permite crear sesiones personalizadas para cada usuario que accede a nuestra página web. Las Sesiones permiten almacenar datos en un arreglo llamado $_SESSION que estará activo y accesible para todas las páginas que tú quieras darle tu sesión.
Las creaciones de sesiones son muy sencillas, podemos crearlo mediante variables, es decir asignarlo directamente de manera manual o mediante el uso de formularios HTML.
Crear Sesiones en PHP: Ejemplo completo
En PHP, las sesiones se crean usando la función session_start(). Puedes ver el ejemplo en funcionamiento en el siguiente enlace:
[divider] [button-blue url=»https://www.baulphp.com/Ejemplos/sesion-PHP/index.php» target=»_blank» position=»left»]Ver Demo[/button-blue] [divider]¿Qué requisitos necesito para crear sesiones?
Necesitamos algunos recursos que está disponible en nuestro servidor web. Como ser:
- Lenguaje de programación PHP
- Servidor web (puede ser propio como XAMPP, WAMP, VertrigoServ, entre otras.)
- Formulario HTML5
¿Cómo funciona las sesiones en PHP?
Para darle una respuesta realizaremos una comparativa con las variables y poder entender cómo funciona las sesiones en PHP.
a) Haciendo uso de las variables.
La imagen que a continuación mostramos, está haciendo uso de las variables para obtener la información e imprimirlas mediante echo. Por lo tanto, si deseamos imprimir en otro fichero nos mostrara un error tipo NOTICE porque la variable no está definida. A continuación, un ejemplo.

b) Haciendo uso de las sesiones PHP
En este segundo ejemplo estamos haciendo uso de las sesiones. Primeramente, creando la sesión para luego ser llamado desde diferentes archivos simplemente asignado session_start(); al fichero que deseamos mostrar la información. A continuación, un ejemplo.

Ustedes saquen sus conclusiones a la hora de utilizar esta estrategia de programación. La recomendación es el uso de las sesiones y son muy fáciles de crear.
Diferencias entre Sesiones y Cookies
Muchos programadores confunden las sesiones con las cookies del navegador. Veamos algunas diferencias.
a) Cookies:
- Las cookies nos permiten guardar información en el navegador web haciendo uso de (nombre=valor), esta información son enviados al servidor en cada petición.
- En pocas palabras las cookies es un método que permite guardar información en el disco duro del ordenador (cliente) para recuperarla más adelante.
- Ahora, hablando de seguridad, los usos de cookies no son recomendadas para almacenar información sensible puesto que es información enviada por el cliente (y puede ser alterada por terceros) y cualquier dato importante debe ser siempre tratado con la mayor seguridad posible.
b) Sesiones
- Por otro lado, en las sesiones es diferente, la información se crea y se mantiene en el servidor hasta que se cierra la sesión, esto puede ocurrir por intervención del usuario o por tiempo de expiración designada.
- Una sesión en PHP (al igual que una cookie) crea un archivo y se almacena en el ordenador tipo servidor.
- El archivo temporal se determina en la configuración del fichero
php.ini, a través desession.save_path.
EJEMPLO COMPLETO PARA CREAR SESIONES
Vamos a crear un formulario de inicio de sesión, será un formulario muy simple, pero dejará claro lo importante que son las sesiones en PHP, este ejemplo consta de 3 páginas PHP:
- Login.php – En esta página mostrara el formulario para iniciar sesión por parte del usuario.
- PanelControl.php – Este fichero será visible si el usuario se ha logueado correctamente y podrá acceder a recursos importantes.
- CerrarSesion.php – Esta página será el encargado de destruir la sesión (cerrar sesión).
Contenido de ficheros para el ejemplo
Login.php
Mostrará el formulario HTML para crear la sesión.
<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Login.php</title>
</head>
<body>
<?php
if(isset($_SESSION['nombre'])){
echo "<p>Has iniciado sesion como: " . $_SESSION['nombre'] . "";
echo "<p><a href='CerrarSesion.php'>Cerrar Sesion</a></p>";
echo "<br><p><a href='PanelControl.php'>Ir al panel de control</a>";
}else {
?>
<h2>Creando la sesion</h2>
<form action="PanelControl.php" method="POST">
<p>Nombres:</p>
<p><input type="text" placeholder="Ingrese su Nombre" name="nombre" required/></p>
<p><input type="submit" value="Crear Sesion" /></p>
</form>
<?php
}
?>
</body>
</html>PanelControl.php
Si la sesión existe, este fichero mostrara contenido sensible para el usuario autorizado.
<?php session_start();?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Panel Control</title>
</head>
<body>
<h2>La sesion creada correctamente</h2>
<p>
<?php
if(isset($_POST['nombre'])){
$_SESSION['nombre'] = $_POST['nombre'];
echo "Bienvenido! Has iniciado sesion como:<b> ".$_POST['nombre']."</b>";
}else{
if(isset($_SESSION['nombre'])){
echo "Has iniciado Sesion como: ".$_SESSION['nombre'];
}else{
// Si la sesion expiro o no se creo mostraremos el siguiente mensaje
echo "Acceso Restringido";
}
}
?></p>
<br>
<p><a href="Login.php">Ir a la página inicial</a></p>
<br>
<p><a href='CerrarSesion.php'>Cerrar Sesion</a></p>
</body>
</html>CerrarSesion.php
Fichero muy importante y se encargara de destruir la sesión para no dejar huellas.
<?php // Mostramos la sesion session_start(); //Distruimos la sesion session_destroy(); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title>Cerrar Sesion</title> </head> <body> <h2>Has Cerrado Sesion correctamente</h2> <br/> <p><a href="Login.php">Ir al Login</a></p> </body> </html>

DESCARGAR EJEMPLO COMPLETO
Les dejare un fichero comprimido para que descarguen y lo implementen.
Ver Demostración
[divider] [button-blue url=»https://www.baulphp.com/Ejemplos/sesion-PHP/index.php» target=»_blank» position=»left»]Ver Demo[/button-blue] [divider]CONCLUSIÓN
Con esta breve explicación ya conocemos lo que son sesiones y como funciona en el mundo de los sistemas y páginas web.
También, hemos visto las diferencias entre sesiones y cookies. Espero que les sirva para que implemente en sus sistemas web.